#include <iostream>
#include <fstream>
#include <string>
#include "bundle.h"
using namespace std;
int main(int argc, char *argv[])
{
  cout << "argv[1]是需要压缩的文件名" << endl;
  cout << "argv[2]是压缩的文件名" << endl;
  if (argc < 3)
  {
    return -1;
  }
  string ifilename = argv[1];
  string ofilename = argv[2];
  fstream fs;
  fs.open(ifilename, ios::binary|ios::in);
  fs.seekg(0, ios::end);  // 跳转到读写位置到末尾
  size_t sz = fs.tellg(); // 获取末尾偏移量，文件长度
  fs.seekg(0, ios::beg);  // 跳转到起始位置
  string str;
  str.resize(sz);
  fs.read(&str[0], sz);
  fs.close();

  string packed = bundle::pack(bundle::LZIP, str);

  fstream fs2;
  fs2.open(ofilename, ios::binary|ios::out);
  fs2.write(&packed[0], packed.size());
  fs2.close();
  return 0;
}
